layui.use(['form','layer','table'],function(){
    var $ = layui.jquery;
    var form = layui.form;
    var table= layui.table;
    var layer = layui.layer;

    var tableIns = table.render({
        elem: '#list',
        url : '/sys/queryAllRole',
        // width : 695,
        width : 400,
        // height : 670,
        id : "listTable",
        // method:'post', //yw 默认是get方式
        cols : [[
            {field: 'roleid2', title: 'id', width:120,align:'center'}, //yw 'userid'区分大小写，自动生成的spring boot代码字段名一般是小写
            {field: 'rolename2', title: '角色', width:150,align:'center'},
            {fixed:"right",title: '操作', toolbar:'#listRowBar',align:"center"}
        ]]//,
    });

    $(".add_btn").click(function(){//data
       mainIndex = layer.open({
           title:['添加角色','font-size:18px;text-align:center;color:blue;'],
           type : 1, //yw 0.默认信息框,1.page,2.iframe,3.加载层,4.tips层
           content : $("#addDiv"),//xql 调用弹出框
           area:['650px','500px'],
           offset:'auto'	//xql 弹出框的位置
       });
    });
    form.on("submit(doSubmitAdd)",function () {
        $.ajax({
            type:"post",
            url:"/sys/addRole",
            data:{
            roleid2:$("#roleid2").val(),
            rolename2:$("#rolename2").val()
            },
            success:function(res){  //yw res是后端的返回值,有的是int，有的是object;data是前端数据，data与res不能混淆
                if(res){
                    tableIns.reload();
                    layer.msg('新增成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                }else{
                    layer.msg('新增失败',{icon:7,time:800,shade:[0.6,'#000',true]});
                }
                layer.closeAll('page'); //yw 关闭新增界面
                tableIns.close;
            }
        });
    });
    /*form.verify({
        //将用户名是否可用作为验证条件  表单提交时触发
        roleid:function(value){
        var datas={roleid: value};
        var message = '';
        $.ajax({
            type:"POST",
            url:xxx(对应后台的方法),
            async: false, //改为同步请求
            contentType:'application/json;charset=UTF-8',
            data:JSON.stringify(datas),
            dataType:'json',
            success:function(data){
                if(data){

                }else{
                    message ="用户名已存在，请重新输入！"
                }
            }
        });
        //需要注意  需要将返回信息写在ajax方法外
        if (message !== '')
            return message;
    }

});*/

    //yw 监听行工具条的事件
    table.on("tool(list)", function(obj){
        var  data = obj.data; //获得当前行数据
        //yw 将当前行记录保存成json格式并赋给curRownDataJson全局变量，给子页adminMagSave.html使用
        //curRowDataJson = JSON.stringify(data);
        switch(obj.event){
            case 'edit':
                openUpdateLayer(data);
                break;
            case 'del':
                deleteInfo(data);
                break;
        }
    });

    //删除角色
    function deleteInfo(data){
        layer.confirm('你确定要删除编号为['+data.roleid2+']的角色吗?',{icon:3,title:'提示'},function(index){
            $.ajax({
                type:"POST",
                url:'/sys/delRole?roleid2=' + data.roleid2,
                success:function(res){
                    if(res){
                        tableIns.reload();
                        layer.msg('删除成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }else{
                        layer.msg('删除失败',{icon:7,time:800,shade:[0.6,'#000',true]});
                    }
                }
            });
            layer.close(index); //yw 关闭删除提示对话框
        });
    }

    //选项全选和全不选
    form.on('switch(switchTest)', function(data){
        if(this.checked){
            var a = data.elem.checked;
            if (a == true) {
                $(".cityId").prop("checked", true);
                form.render('checkbox');
            } else {
                $(".cityId").prop("checked", false);
                form.render('checkbox');
            }
        }else{
            var item = $(".cityId");
            item.each(function () {
                if ($(this).prop("checked")) {
                    $(this).prop("checked", false);
                } else {
                    $(this).prop("checked", true);
                }
            });
            form.render('checkbox');
        }
    });
    //有一个未选中 取消全选
    form.on('checkbox(c_one)', function (data) {
        var item = $(".cityId");
        for (var i = 0; i < item.length; i++) {
            if (item[i].checked == false) {
                $("#c_all").prop("checked", false);
                // $("#c_all1").prop("checked", false);
                form.render('checkbox');
                break;
            }
        }
        //如果都勾选了  勾上全选
        var  all=item.length;
        for (var i = 0; i < item.length; i++) {
            if (item[i].checked == true) {
                all--;
            }
        }
        if(all==0){
            $("#c_all").prop("checked", true);
            // $("#c_all1").prop("checked", true);
            form.render('checkbox');
        }

    });


    //编辑角色权限
    function openUpdateLayer(data) {
        mainIndex = layer.open({
            title: ['编辑角色权限', 'font-size:18px;text-align:center;color:blue;'],
            type: 1,  //yw 使用这种方式从服务器下载更少数据12kB,处理速度更快47毫秒，提高了并发性
            content: $("#edit"),
            // type : 2,  //yw 使用这种方式从服务器下载更多数据116kB，处理速度更慢264毫秒，减少了并发性
            // content : "adminMagSave.html",
            area: ['500px', '250px'],
            offset: 'r'
        });
    }
    //yw 最后一行对应layui.use(['form','layer','laydate','table'],function

    form.on("submit(doSubmitSave)",function(){ //yw 有的是function(data)但这里的data没有用到
        // console.log(data)
        // alert("xxxx")
        // $("#doSubmitSave").click(function(data){ //yw 不要用这种底层方式处理事件会绕过表单验证
        //获取到文本域中的文字
        $.ajax({
            type: "post",
            url: "/sys/editAuth",
            data: {
                roleid2: $("#roleid2").val(),
                auth: $("#auth").val()
            },
            success:function(res){  //yw res是后端的返回值,有的是int，有的是object;data是前端数据，data与res不能混淆
                if(res){
                    tableIns.reload();
                    layer.msg('新增成功',{icon:7,time:800,shade:[0.6,'#000',true]});
                }else{
                    layer.msg('新增失败',{icon:7,time:800,shade:[0.6,'#000',true]});
                }
                layer.closeAll('page'); //yw 关闭新增界面
            }
        });
        // }
    }); //yw 最后一行对应layui.use(
});


